package com.jtfr;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;

import com.alibaba.druid.support.http.StatViewServlet;

@SpringBootApplication
public class App {

	public static void main(String[] args) { 
		SpringApplication.run(App.class, args);
	}
	
	/**
	 * Druid监控的配置
	 * @return
	 */
	@Bean
	public ServletRegistrationBean<StatViewServlet> druidStatViewServlet() {
		// org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.
		// StatViewServlet就是一个，所以需要注册，如果是配置在 Web.xml中也是可以的。
		// StatViewServlet用途：1.提供监控信息展示的html页面。2.提供监控信息的JSON API
		// Druid内置 StatFilter，用于统计监控信息。 在application.properties中配置spring.datasource.druid.filters就行。
		ServletRegistrationBean<StatViewServlet> registrationBean = new ServletRegistrationBean<>(new StatViewServlet(),  "/druid/*");
		registrationBean.addInitParameter("allow", "127.0.0.1");// IP白名单 (没有配置或者为空，则允许所有访问)
		registrationBean.addInitParameter("deny", "");// IP黑名单 (存在共同时，deny优先于allow)
		// 登录的账号密码, 可以不配置，直接登录
		registrationBean.addInitParameter("loginUsername", "root");
		registrationBean.addInitParameter("loginPassword", "Ckm1542@");
		// 是否能够重置数据
		registrationBean.addInitParameter("resetEnable", "false");
		return registrationBean;
	}

}
